package com.shujia

import scala.collection.mutable

object Demo16Set {
  def main(args: Array[String]): Unit = {
    /**
     * Set：集合
     * 元素是唯一的不会重复，会自动进行去重
     * 不可变，无序的
     */

    // 定义一个Set
    val s1: Set[Int] = Set[Int](1, 2, 2, 2, 2, 4, 4, 4, 3, 5, 4, 0)
    println(s1)

    // 集合的运算
    val set01: Set[Int] = Set[Int](1, 2, 3, 4, 5, 6)
    val set02: Set[Int] = Set[Int](4, 5, 6, 7, 8, 9)

    // 交集、并集、差集等等
    println(set01 & set02)
    println(set01 | set02)
    println(set01.diff(set02))
    println(set02.diff(set01))

    // 可变的Set：
    val mSet01: mutable.Set[Int] = mutable.Set[Int](1, 2, 2, 2, 2, 4, 4, 4, 3, 5, 4, 0)
    println(mSet01)

    // 增加
    mSet01.add(5)
    mSet01.add(6)
    mSet01.add(-1)
    mSet01 += 7
    println(mSet01)
    // 删除
    mSet01.remove(-1)
    mSet01.remove(2)
    mSet01 -= 1
    println(mSet01)

    // 修改：无直接修改的方法，可以先remove再add来实现修改
    mSet01.remove(7)
    mSet01.add(8)
    println(mSet01)


  }

}
